﻿#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;

class BaseModel
{
public:
	int m_A;	//4
protected:
	int m_B;	//4
private:
	int m_C;	//4
};
//1.子类中，会继承父类的私有成员，只是被编译时给隐藏起来了，访问不到私有成员；
class Son :public BaseModel
{
public:
	int m_D;	//4
};
class BaseParam
{
public:
	BaseParam(int a)
	{
		this->m_A = a;
		cout << "有参构造函数调用！" << endl;
	}

	int m_A;
};
class SonParam :public BaseParam
{
public:
	//2.利用初始化列表方式，显式调用，有参构造；
	SonParam(int a) :BaseParam(a)
	{

	}
};
void testExtendsModel()
{
	cout << sizeof(Son) << endl;//16

	SonParam sonP(1000);//有参构造函数调用！
}

//main287：继承中的对象模型
int main287()
{
	testExtendsModel();

	system("pause");
	return EXIT_SUCCESS;
}